package com.info.zhiduoduo.repository.dto.crowdsource;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.info.zhiduoduo.common.utils.DateUtil;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 智众包项目
 * </p>
 *
 * @author bob
 * @since 2019-09-25
 */
@Data
@Accessors(chain = true)
public class CrowdsourceProjectBriefDto {

    @ApiModelProperty("智众包项目id")
    private Integer projectid;
    @ApiModelProperty("企业id")
    private Integer compid;
    private String compname;
    @ApiModelProperty("项目名")
    private String projectName;
    @ApiModelProperty("项目类型 1:普通众包 2:众包撮合项目")
    private int projectType;
    @ApiModelProperty("发票内容")
    private String invoiceContent;
    @ApiModelProperty("项目总金额")
    private BigDecimal projectTotalAmount;
    @ApiModelProperty("项目总服务费(不含保证金)")
    private BigDecimal projectTotalServiceCharge;
    @ApiModelProperty("总参与人数")
    private Integer peopleCount;
//    @ApiModelProperty("支付方式 1:得仕九歌商户号代付 2:线下支付 3:企业商户号支付 4:九歌线下代付 5:得仕武圣商户号代付")
//    private Integer payType;
    @ApiModelProperty("项目状态 1：新建 2：已提交（进行中） 3：已完成（付款中）4：部分付款成功 5：全部付款完成  99：已废弃")
    private Integer state;
    @ApiModelProperty("是否是补录的已成交的项目 0:否 1:是")
    private Integer supplement;
    private Date createtime;
    private Date updatetime;
    @ApiModelProperty("项目证据链URL")
    private String projectFileUrl;
    @ApiModelProperty("实际发单企业ID")
    private Integer actualSender;
    @ApiModelProperty("实际发单企业")
    private String actualCompanyName;

    @ApiModelProperty("补录时间")
    private String supplementTime;
    @ApiModelProperty("补录人员")
    private String supplementPersonnel;

    @JsonFormat(pattern = DateUtil.FORMAT_STYLE_10, timezone = DateUtil.TIME_ZONE_CHINA)
    @ApiModelProperty("申请开票日期, 字符串日期格式: yyyy-MM")
    private Date applyInvoiceDate;
    @ApiModelProperty("按协议规定开票 0:否 1:是")
    private Integer asProtocol;
    @ApiModelProperty("保证金返还状态(0:未返还，1：已返还)")
    private Integer depositBackStatus;
    @ApiModelProperty("项目开票总金额(不含保证金)")
    private BigDecimal projectTotalInvoiceAmount;
    @ApiModelProperty("保证金总金额")
    private BigDecimal depositTotalAmount;
    @ApiModelProperty("备注字段")
    private String remarksField;

    @ApiModelProperty("项目交付文件路径")
    private String deliveryPath;
    @ApiModelProperty("运营主体名称")
    private String partyname;

    @ApiModelProperty("智零工项目类型(1:智众包，2:智零工)")
    private Integer workType;

    @ApiModelProperty("渠道(1:合付宝)")
    private Integer channel;

    @ApiModelProperty("税源地ID")
    private Integer taxSourceId;
    @ApiModelProperty("招标类型 1：邀约 2：公开")
    private Integer bidType;
    @JsonFormat(pattern = DateUtil.FORMAT_STYLE_2)
    @ApiModelProperty("公开招标结束日期")
    private Date bidEnd;
    @JsonFormat(pattern = DateUtil.FORMAT_STYLE_2)
    @ApiModelProperty("公开招标项目完成截止日期")
    private Date bidProjectFinish;
    @ApiModelProperty("是否通知乙方上传交付物 0：否 1：是")
    private Integer notifyUploadDelivery;

    @ApiModelProperty("基础税率")
    private Double baseTaxRate;


    private BigDecimal amountPayable;

    /**
     * 支付id
     */
    private Integer payId;

    @ApiModelProperty("支付方式名称")
    private String payName;
}
